package com.vhall.component.entity.export.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;

/**
 * @author yuanzh
 * @date 2021/11/19
 */
@Data
public class ExportAdmListReqVO implements Serializable {

    private static final long serialVersionUID = 2714451380793192269L;

    /**
     * 业务类型，0=全量导出列表数据（统计台） 1=房间列表导出 2=文档列表导出 3=问卷列表导出 4=用户列表导出 5=主持人列表导出 6=管理员列表导出 7=短视频列表
     */
    @NotNull(message = "类型不允许为空")
    @Range(min = 0, max = 7, message = "类型参数不在允许范围内")
    private Integer type;

    /**
     * 页码
     */
    @Min(value = 1, message = "page参数不允许小于1")
    private Integer page;

    @ParamName("page_size")
    @Min(value = 1, message = "page_size参数不允许小于1")
    private Integer pageSize;

    public void setDefault() {
        if (Objects.isNull(page)) {
            page = 1;
        }
        if (Objects.isNull(pageSize)) {
            pageSize = 10;
        }
    }

}
